    struc   ICO_FileHeader {
	    .Reserved = 00  ; =0
	    .iType    = 02  ; =1
	    .Count    = 04  ; number of icon entries
	    .size     = 06
    }
    head ICO_FileHeader
    struc   ICO_Entry {
	    .Width	 = 00 ; cursor width
	    .Height	 = 01 ; cursor height
	    .Colors	 = 02 ; (0 = 256)
	    .Reserved	 = 03 ; =0
	    .Planes	 = 04 ; =1
	    .BitDepth	 = 06 ; bits per pixel (1,4,8)
	    .SizeInBytes = 08 ; size of InfoHeader+ANDbitmap+XORbitmap
	    .FileOffset  = 12 ; offset in file of InfoHeader
	    .size	 = 16
    }
    ientry ICO_Entry
    struc ICO_InfoHeader {
	    .Size	      = 00; // size of InfoHeader struct (=40)
	    .Width	      = 04
	    .Height	      = 08; // icon width/height
	    .Planes	      = 12; // =1
	    .BitDepth	      = 14; // bits per pixel (1,4,8)
	    .CompType	      = 16; // Type of compression (0=none)
	    .ImageSize	      = 20; // size of image in bytes (uncompressed)
	    .XpixelsPerM      = 24
	    .YpixelsPerM      = 28;
	    .ColorsUsed       = 32;
	    .ColorsImportant  = 36;
	    .size	      = 40
    }
    infoheader ICO_InfoHeader
